/**
 * 
 */
package pruebas.tiendaOl.dominio;

import javax.enterprise.inject.spi.BeanManager;
import javax.inject.Inject;
import javax.inject.Singleton;

import pruebas.tiendaOl.dominio.repositorios.RepoCarrito;
import pruebas.tiendaOl.dominio.repositorios.RepoCliente;
import pruebas.tiendaOl.dominio.repositorios.RepoTipoArticulo;

import com.intelap.utils.ProductorRecursos;

/** @author ggpollit */
@Singleton
public class LocalizadorRepositorios {

	private static LocalizadorRepositorios instancia = ProductorRecursos.getManagedBeanEstricto(LocalizadorRepositorios.class, LocalizadorRepositorios.class);
	public static LocalizadorRepositorios getInstancia() {
		return instancia;
	}
	
	@Inject
	private BeanManager bm;
	public <R> R getRepositorio(Class<R> tipoRepositorio) {
		return ProductorRecursos.getManagedBean(bm, tipoRepositorio);
	}

	@Inject
	private RepoCarrito repoCarrito;
	public RepoCarrito getRepoCarrito() {
		return repoCarrito;
	}

	@Inject
	private RepoCliente repoCliente;
	public RepoCliente getRepoCliente() {
		return repoCliente;
	}

	@Inject
	private RepoTipoArticulo repoTipoArticulo;
	public RepoTipoArticulo getRepoTipoArticulo() {
		return repoTipoArticulo;
	}

}
